<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
  <meta name="generator" content=
  "HTML Tidy for HTML5 for Linux version 5.4.0">
  <meta http-equiv="CONTENT-TYPE" content=
  "text/html; charset=utf-8">
  <title>BACnet stack - open source BACnet protocol stack</title>
  <!-- ****** faviconit.com favicons ****** -->
  <link rel="shortcut icon" href="favicon.ico">
  <link rel="icon" sizes="16x16 32x32 64x64" href=
  "images/favicon.ico">
  <link rel="icon" type="image/png" sizes="196x196" href=
  "images/favicon-192.png">
  <link rel="icon" type="image/png" sizes="160x160" href=
  "images/favicon-160.png">
  <link rel="icon" type="image/png" sizes="96x96" href=
  "images/favicon-96.png">
  <link rel="icon" type="image/png" sizes="64x64" href=
  "images/favicon-64.png">
  <link rel="icon" type="image/png" sizes="32x32" href=
  "images/favicon-32.png">
  <link rel="icon" type="image/png" sizes="16x16" href=
  "images/favicon-16.png">
  <link rel="apple-touch-icon" href="images/favicon-57.png">
  <link rel="apple-touch-icon" sizes="114x114" href=
  "images/favicon-114.png">
  <link rel="apple-touch-icon" sizes="72x72" href=
  "images/favicon-72.png">
  <link rel="apple-touch-icon" sizes="144x144" href=
  "images/favicon-144.png">
  <link rel="apple-touch-icon" sizes="60x60" href=
  "images/favicon-60.png">
  <link rel="apple-touch-icon" sizes="120x120" href=
  "images/favicon-120.png">
  <link rel="apple-touch-icon" sizes="76x76" href=
  "images/favicon-76.png">
  <link rel="apple-touch-icon" sizes="152x152" href=
  "images/favicon-152.png">
  <link rel="apple-touch-icon" sizes="180x180" href=
  "images/favicon-180.png">
  <meta name="msapplication-TileColor" content="#FFFFFF">
  <meta name="msapplication-TileImage" content=
  "images/favicon-144.png">
  <meta name="msapplication-config" content="browserconfig.xml">
  <!-- ****** faviconit.com favicons ****** -->
</head>
<body lang="en-US">
  <img src="images/BACnet.png" align="right">
  <h1>BACnet Stack</h1>
  <h2>An open source BACnet protocol stack for embedded
  systems</h2>
  <hr>
  <h2>About this Project</h2>
  <p><a href="http://sourceforge.net/projects/bacnet/">This BACnet
  protocol stack library</a> provides a BACnet application layer,
  network layer and media access (MAC) layer communications
  services. It is an open source, royalty-free library for an
  embedded system, Windows, Linux, or other operating system.
  <a href=
  "https://sourceforge.net/projects/bacnet/files/bacnet-tools/">Example
  BACnet client and server applications</a> are included.</p>
  <p>BACnet - A Data Communication Protocol for Building Automation
  and Control Networks - see <a href=
  "http://www.bacnet.org/">bacnet.org</a>. BACnet is a standard
  data communication protocol for Building Automation and Control
  Networks. BACnet is an open protocol, which means anyone can
  contribute to the standard, and anyone may use it. The only
  caveat is that the BACnet standard document itself is copyrighted
  by ASHRAE, and they sell the document to help defray costs of
  developing and maintaining the standard (similar to IEEE or ANSI
  or ISO).</p>
  <p>For software developers, the BACnet protocol is a standard way
  to send and receive messages on the wire containing data that is
  understood by other BACnet compliant devices. The BACnet standard
  defines a standard way to communicate over a number of wires,
  known as Data Link/Physical Layers: Ethernet, EIA-485, EIA-232,
  ARCNET, and LonTalk. The BACnet standard also defines a standard
  way to communicate using UDP (IPv4 and IPv6) and TCP (HTTP for
  RESTful Web Services and HTTPS for Secure Connect).</p>There are
  other open source projects for BACnet:
  <ul>
    <li><a href=
    "http://sourceforge.net/projects/yetanotherbacnetexplorer/">Yabe</a>
    - Graphical explorer program for BACnet devices. Small
    graphical explorer program written in C#, for browsing BACnet
    devices. Currently supports both BACnet/IP, BACnet MSTP, and
    BACnet PTP. Basic functions for ReadProperty, WriteProperty,
    ReadPropertyMultiple, WritePropertyMultiple, I-Am, Who-Is,
    SubscribeCOV, Notify, AtomicWriteFile, AtomicReadFile, and
    more.</li>
    <li><a href="http://vts.sourceforge.net/">VTS</a> - visual test
    shell for Win32, used for Visually testing a BACnet
    implementation. It also includes a detailed network sniffer for
    BACnet messages, and the ability to send any BACnet services.
    The source code is in the public domain.</li>
    <li><a href="http://www.wireshark.org/">Wireshark</a> - an open
    source, cross platform protocol analyzer with BACnet support.
    The detailed BACnet support began in version 0.10.11 released
    on May 4, 2005 when Wireshark was known as Ethereal.</li>
    <li><a href=
    "http://bacnet4linux.sourceforge.net/">BACnet4Linux</a> - an
    LGPL BACnet application that requires Linux as the OS.</li>
    <li><a href="http://bfr.sourceforge.net/">BACnet Firewall
    Router</a> -an application that combines BACnet routing
    capability with traffic management functions to carefully
    control access to building automation and control
    networks.</li>
    <li><a href="http://bacpypes.sourceforge.net/">BACpypes</a> - a
    BACnet stack written in Python.</li>
    <li><a href="http://bacsharp.sourceforge.net/">BACsharp</a> - a
    BACnet/IP stack written in C#.</li>
    <li><a href="http://bacnet4j.sourceforge.net/">BACnet4J</a> - a
    BACnet/IP stack written in Java that serves as the BACnet layer
    for <a href="http://mango.serotoninsoftware.com/">Mango</a>.
    Mango is open source Machine-to-Machine software (aka
    Industrial Control, SCADA, HMI, or domotics).</li>
  </ul>
  <p>There are also commercial BACnet protocol source code
  libraries for BACnet that are designed for embedded use:</p>
  <ul>
    <li><a href="http://www.cimetrics.com">Cimetrics</a>
    <font size="-2"><sup>TM</sup></font> - has a source library
    called BACstac/32 as part of their BACNet Protocol Stack
    SDK.</li>
    <li><a href="http://www.polarsoft.biz">Polarsoft</a> - has a
    protocol stack source library for embedded use called
    FreeRange<font size="-2"><sup>TM</sup></font> and PolarSoft®
    FreeRange VSB (Very Small BACnet stack).</li>
    <li><a href="http://www.scadaengine.com/">SCADA Engine</a> -
    The BACnet Linux Server is a complete BACnet Device running on
    the linux platform. The entire source code is available for
    custom applications and has been written in ANSI C which has
    been succesfully ported to Unix, VxWorks etc.</li>
    <li><a href="http://bacnetstack.com/">BACnet Stack</a> -
    Chipkin automation systems BACnet stack is an application layer
    BACnet library for an embedded system and application
    development.</li>
  </ul>
  <h2>Licensing</h2>
  <p>Our BACnet protocol stack implementation is specifically
  designed for the embedded BACnet appliance, using a GPL with
  exception license (like <a href=
  "http://ecos.sourceware.org/">eCos</a>), which means that any
  changes to the core code that are distributed are made available,
  but the BACnet library can be linked to proprietary code without
  it becoming licensed under the GPL. See the <a href=
  "http://ecos.sourceware.org/license-overview.html">eCos license
  overview</a> for easy to read details about this exception to the
  GPL. The license does <i>not</i> require users to release the
  source code of any <i>applications</i> that are developed with
  this BACnet stack - only portions of the BACnet stack that have
  been modified. Note that those files in this BACnet stack that
  are expected to be modified are licensed using the <a href=
  "http://en.wikipedia.org/wiki/MIT_License">MIT License</a>.</p>
  <p>The text of the GPL exception included in each source file is
  as follows:</p>
  <blockquote>
    <p>"As a special exception, if other files instantiate
    templates or use macros or inline functions from this file, or
    you compile this file and link it with other works to produce a
    work based on this file, this file does not by itself cause the
    resulting work to be covered by the GNU General Public License.
    However the source code for this file must still be made
    available in accordance with section (3) of the GNU General
    Public License."</p>
  </blockquote>
  <h2>The source code</h2>
  <p>The source code is written in C for portability, and includes
  unit tests (PC based unit tests) and example application code.
  Since the code is designed to be portable, it compiles with GCC
  as well as other compilers, such as Visual C++, MinGW, IAR, or
  MicroChip XC. The source code is also designed to be high
  quality, readable, understandable, and easy to use.</p>
  <p>The BACnet protocol is an ASHRAE/ANSI/ISO standard, so this
  library adheres to that standard. BACnet has no royalties or
  licensing restrictions, and <a href=
  "http://www.bacnet.org/VendorID/">registration for a BACnet
  vendor ID</a> is free.</p>
  <h2>What the code does</h2>
  <p>The BACnet stack comes with example applications that can be
  run under Linux, Win32, MacOS, or BSD. There are also example
  projects for embedded systems and microcontrollers.</p>
  <p>The unit tests use CMake and may be run with the command
  sequence:</p><code>$ make test</code>
  <p>The unit test framework uses a slightly modified ztest, and
  the tests are located in the <code>test/</code> folder. The test
  coverage tool is LCOV. The HTML results of the unit testing
  coverage are available starting in the
  <code>test/build/lcoverage/index.html</code> file. The unit tests
  can be run on computer and run with every commit within the
  Continuous Integration environment.</p>
  <p>The BACnet stack was functionally tested using a variety of
  tools as well as various controllers and workstations. It has
  been included in many products that successfully completed BTL
  testing.</p>
  <h2>Demo BACnet Applications</h2>
  <p>Using the Makefile in the project root directory, a dozen
  sample applications are created that run under Windows or Linux.
  They use the BACnet/IPv4 datalink layer for communication by
  default, but could be compiled to use BACnet IPv6, Ethernet,
  ARCNET, or MS/TP.</p>
  <p>To build all the demo applications under Linux/Unix/Cygwin
  using the BACnet/IP datalink layer, use the familiar make
  command:</p><code>$ make clean all<br></code>
  <p>You can also modify the Makefile variabiles from the command
  line to build with the BACnet MS/TP datalink layer, for
  example:</p><code>$ make BACDL_DEFINE=-DBACDL_MSTP=1 clean
  all<br></code>
  <p>To build all the demo applications under Windows with the
  BACnet/IP datalink layer and utilizing the <a href=
  "http://www.mingw.org/">MinGW tools</a> from BASH:</p><code>$
  make win32<br></code>
  <p>From Windows Command Line</p><code>c:\&gt; build.bat</code>
  <p>The library is also instrumented to use <a href=
  "https://cmake.org">CMake which can generate a project or
  Makefiles for a variety of IDE or compiler. For example, to
  generate a Code::Blocks project:</a></p><a href=
  "https://cmake.org"><code>$ mkdir build $ cd build/ $ cmake ..
  -G"CodeBlocks - Unix Makefiles" c:\&gt; mkdir build c:\&gt; cd
  build/ c:\&gt; cmake .. -G"CodeBlocks - MinGW
  Makefiles"</code></a>
  <p>The demo application accept command line arguments. To specify
  an array index of ALL, use "-1". To make a priority optional, use
  "0". The applications also use environment variables to set
  datalink layer preferences. Use <code>--help</code> on the
  command line to see more options.</p><code>$ apps/server/bacsrv
  123<br>
  BACnet Server Demo - Device #123<br>
  <br>
  $ apps/readprop/bacrp<br>
  bacrp device-instance object-type object-instance property
  [index]<br>
  <br>
  $ apps/writeprop/bacwp<br>
  bacwp device-instance object-type object-instance property
  priority index tag value [tag value...]<br>
  <br>
  $ apps/readfile/bacarf<br>
  bacarf device-instance file-instance local-name<br>
  <br>
  $ apps/writefile/bacawf<br>
  bacawf device-instance file-instance local-name<br>
  <br>
  $ apps/reinit/bacrd<br>
  Usage: bacrd device-instance state [password]<br>
  Send BACnet ReinitializeDevice service to device.<br>
  <br>
  $ apps/whohas/bacwh<br>
  Usage: bacwh object-type object-instance | object-name<br>
  Send BACnet WhoHas request to devices, and wait for
  responses.<br>
  <br>
  $ apps/dcc/bacdcc<br>
  Usage: bacdcc device-instance state timeout [password]<br>
  Send BACnet DeviceCommunicationControl service to device.<br>
  <br>
  $ apps/timesync/bacts<br>
  Received TimeSyncronization Request<br>
  2006/8/30 07:10:45.00<br>
  <br>
  $ apps/ucov/bacucov<br>
  Usage: bacucov pid device-id object-type object-instance time
  property tag value [priority] [index]<br>
  <br>
  $ apps/whois/bacwi<br>
  Usage: bacwi device-instance | device-instance-min
  device-instance-max<br>
  Send BACnet WhoIs request to devices, and wait for responses.<br>
  <br>
  The device-instance can be 0 to 4194303, or -1 for ALL.<br>
  The device-instance can also be specified as a range.<br>
  <br></code>
  <p>The demos can be compiled for Win32 platform using <a href=
  "http://www.mingw.org/">MinGW - Minimalist GNU for Windows</a> or
  any compiler build environment supported by CMake.</p>
  <p><a href=
  "https://sourceforge.net/projects/bacnet/files/bacnet-tools/">BACnet-Tools</a>
  - the example applications are compiled for Windows and can be
  downloaded from SourceForge.</p>
  <p>To build the demo applications under Linux, such as <a href=
  "http://ubuntu.com/">Ubuntu</a>, you may need to install some
  build tools. There are two ways to install all the build tools
  needed to compile the BACnet stack and the demo applications
  using the APT package manager. The first way uses the configure
  script:</p><code>$ sudo ./configure</code>
  <p>The second way to install the build tools is using
  bash-aptfile:</p><code>$ sudo tools/bash-aptfile/bin/aptfile
  aptfile</code>
  <h2>BACnet services supported matrix</h2>
  <p>The BACnet stack currently implements the following services
  listed in the the table. Services are added as needed for a
  variety of implemetations. With the services that are
  implemented, you could build a BACnet device that meets the
  standardized profile for a BACnet Smart Sensor, BACnet Smart
  Actuator, or a BACnet Application Specific Controller.</p>
  <table border="1" width="100%" cellpadding="1" cellspacing="0"
  summary="BACnet services supported matrix">
    <tbody>
      <tr>
        <td></td>
      </tr>
      <tr>
        <td bgcolor="#CCF6F6" width="50%" valign="top"><b>BACnet
        Service</b></td>
        <td bgcolor="#CCF6F6" width="25%" align="center" valign=
        "top"><b>Initiate</b></td>
        <td bgcolor="#CCF6F6" width="25%" align="center" valign=
        "top"><b>Execute</b></td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/whois.c">
        Who Is</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/iam.c">
        I Am</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/whohas.c">
        Who Has</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/ihave.c">
        I Have</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top">Who Am
        I</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top">You Are</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/rp.c">
        Read Property</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/rpm.c">
        Read Property Multiple</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/wp.c">
        Write Property</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/wpm.c">
        Write Property Multiple</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/write_group.c">
        Write Group</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/dcc.c">
        Device Communication Control</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/rd.c">
        ReinitializeDevice</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/arf.c">
        Atomic Read File</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/awf.c">
        Atomic Write File</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/timesync.c">
        Time Synchronization</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/timesync.c">
        UTC Time Synchronization</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/cov.c">
        Subscribe COV</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/cov.c">
        Confirmed COV Notification</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/cov.c">
        Unconfirmed COV Notification</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top">Read
        Property Conditional</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/readrange.c">
        Read Range</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/get_alarm_sum.c">
        Get Alarm Summary</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/getevent.c">
        Get Event Information</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top">Get
        Enrollment Summary</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/alarm_ack.c">
        Acknowledge Alarm</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/event.c">
        Confirmed Event Notification</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/event.c">
        Unconfirmed Event Notification</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top">Unconfirmed
        Text Message</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top">Confirmed
        Text Message</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/list_element.c">
        Add List Element</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/list_element.c">
        Remove List Element</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/create_object.c">
        Create Object</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/delete_object.c">
        Delete Object</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/ptransfer.c">
        Unconfirmed Private Transfer</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/ptransfer.c">
        Confirmed Private Transfer</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top">VT Open</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top">VT Data</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="50%" valign="top">VT
        Close</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
    </tbody>
  </table>
  <h2>BACnet Objects</h2>
  <p>The BACnet stack currently implements an example Device
  Object, and handles all of the ReadProperty and
  ReadPropertyMultiple inquiries for the required Device Object
  properties. The stack handles Who-Is inquiries with an I-Am,
  WhoHas with I-Have, and handles reject messages for services not
  currently supported or implemented by your device. There is
  built-in handling for DeviceCommunicationControl.</p>
  <p>The example handlers interact with example objects by way of
  the Device object. There are example objects for the developer to
  use as a template when customizing the objects for their
  device.</p>
  <p>File Objects are conditionally included in the demonstation
  applications. The files can be accessed using WriteProperty,
  ReadProperty, Who-Has, AtomicWriteFile, or AtomicReadFile
  services.</p>
  <table border="1" width="100%" cellpadding="1" cellspacing="0"
  summary="BACnet Objects">
    <tbody>
      <tr>
        <td></td>
      </tr>
      <tr>
        <td bgcolor="#CCF6F6" width="75%" valign="top"><b>BACnet
        Object</b></td>
        <td bgcolor="#CCF6F6" width="25%" align="center" valign=
        "top"><b>Code Example</b></td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/acc.c">
        Accumulator</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/ai.c">
        Analog Input</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/ao.c">
        Analog Output</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/av.c">
        Analog Value</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">
        Averaging</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/bi.c">
        Binary Input</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/bo.c">
        Binary Output</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/bv.c">
        Binary Value</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/calendar.c">
        Calendar</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/command.c">
        Command</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/device.c">
        Device</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">Event
        Enrollment</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/bacfile.c">
        File</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">Group</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/lsp.c">
        Life Safety Point</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/lsz.c">
        Life Safety Zone</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">Loop</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/ms-input.c">
        Multi-state Input</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/mso.c">
        Multi-state Output</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/msv.c">
        Multi-state Value</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/nc.c">
        Notification Class</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">Program</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">Pulse
        Converter</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/schedule.c">
        Schedule</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/trendlog.c">
        Trend Log</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/access_door.c">
        Access Door</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">Event
        Log</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/lc.c">
        Load Control</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/structured_view.c">
        Structured View</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">Trend Log
        Multiple</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/access_point.c">
        Access Point</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/access_zone.c">
        Access Zone</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/access_user.c">
        Access User</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/access_rights.c">
        Access Rights</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/access_credential.c">
        Access Credential</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/credential_data_input.c">
        Credential Data Input</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/csv.c">
        CharacterString Value</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">DateTime
        Value</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">Large Analog
        Value</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/bitstring_value.c">
        BitString Value</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/osv.c">
        OctetString Value</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/time_value.c">
        Time Value</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/iv.c">
        Integer Value</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/piv.c">
        Positive Integer Value</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">Date
        Value</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">DateTime
        Pattern Value</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">Time Pattern
        Value</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">Date Pattern
        Value</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">Network
        Security</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">Global
        Group</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">Notification
        Forwarder</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">Alert
        Enrollment</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/channel.c">
        Channel</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/lo.c">
        Lighting Output</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/netport.c">
        Network Port</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/blo.c">
        Binary Lighting Output</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">Elevator
        Group</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">
        Escalator</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">Lift</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">Staging</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">Audit
        Log</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top">Audit
        Reporter</td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">-</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/color_object.c">
        Color</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFDD" width="75%" valign="top"><a href=
        "https://sourceforge.net/p/bacnet/src/ci/master/tree/src/bacnet/basic/object/color_temperature.c">
        Color Temperature</a></td>
        <td bgcolor="#FFFFDD" width="25%" align="center" valign=
        "top">Yes</td>
      </tr>
    </tbody>
  </table>
  <h2>Getting Involved</h2>
  <p>If you want to contribute to this project, join us via
  <a href="https://github.com/bacnet-stack/bacnet-stack/">GitHub.com</a>
  or via <a href=
  "https://sourceforge.net/p/bacnet/src/">SourceForge.net</a> and
  create a fork or branch, and eventually a pull request to have
  your code or document considered for inclusion.</p>
  <p>If you find a bug in this project, please tell us about it at
  <a href="https://sourceforge.net/p/bacnet/bugs/">SourceForge.net
  Bugs</a> or <a href=
  "https://github.com/bacnet-stack/bacnet-stack/issues">Github.com
  Issue</a></p>
  <p>If you have a support request, you can post it at <a href=
  "https://sourceforge.net/p/bacnet/support-requests/">SourceForge.net
  Support</a></p>
  <p>If you have a feature request, you can post it at <a href=
  "https://sourceforge.net/p/bacnet/feature-requests/">SourceForge.net
  Feature Request</a></p>
  <p>If you have a problem getting this library to work for your
  device, or have a BACnet question, post the question to the Open
  Discussion, Developers, or Help forums at <a href=
  "https://sourceforge.net/p/bacnet/discussion/">SourceForge.net
  Forums</a></p>
  <p>More details about the project can be found on the <a href=
  "http://sourceforge.net/projects/bacnet/">BACnet Source Forge
  Project Page</a></p>
  <p>There is documentation that <a href=
  "https://sourceforge.net/p/bacnet/src/ci/master/tree/doc/README.developer">
  describes the mechanisms in the BACnet Stack</a>. I wrote up some
  <a href=
  "https://sourceforge.net/p/bacnet/src/ci/master/tree/doc/README.faq">
  answers to some frequently asked questions</a>. Of course, there
  are a handful of text files in the doc directory of the project
  with more useful information.</p>
  <p><a href=
  "http://sourceforge.net/project/showfiles.php?group_id=117598&amp;package_id=140172">
  BACnet Stack released files download</a></p>
  <p>You can get the latest BACnet protocol stack source code using
  the <a href="https://git-scm.com/">Git</a> version control
  system. The main development branch is at: <a href=
  "https://sourceforge.net/p/bacnet/src/ci/master/tree/">https://sourceforge.net/p/bacnet/src/ci/master/tree/</a>.
  This has the absolute latest code and features. Anyone doing
  development on the BACnet protocol stack should be using this
  branch. The stable release tags are at: <a href=
  "https://sourceforge.net/p/bacnet/src/ref/master/tags/">https://sourceforge.net/p/bacnet/src/ref/master/tags/</a>.
  This matches the released version downloadable through
  SourceForge. Anyone doing project development using the BACnet
  protocol stack should be using the tags branch and an appropriate
  version tag. The custom and vendor branches are at: <a href=
  "https://sourceforge.net/p/bacnet/src/ref/master/branches/">https://sourceforge.net/p/bacnet/src/ref/master/branches/</a>.</p>
  <h2>BACnet Developer Resources</h2>There are a number of
  resources that can help you develop a BACnet product or project.
  <ul>
    <li><a href="http://vts.sourceforge.net/">VTS</a> - visual test
    shell for Win32, used for Visually testing a BACnet
    implementation. It also includes a detailed network sniffer for
    BACnet messages, and the ability to send any BACnet services.
    The source code is in the public domain.</li>
    <li><a href="http://www.wireshark.org/">Wireshark</a> - an open
    source, cross platform protocol analyzer with BACnet support.
    The detailed BACnet support in began in version 0.10.11
    released on May 4, 2005 when Wireshark was known as Ethereal.
    Also, BACnet MS/TP capture support was added in Wireshark
    version 1.1.0. The <a href="wireshark/index.html">demo
    application mstpcap can be used to capture BACnet MS/TP using
    an RS-485 converter, and save the data to a capture file that
    can be viewed with Wireshark or live capture with
    Wireshark.</a></li>
    <li><a href="http://www.ubuntu.com/">Ubuntu Linux</a> or
    <a href="http://www.debian.org/">Debian Linux</a> - my
    development platforms of choice. Linux makes a great
    development platform because all the necessary development
    tools are included.</li>
  </ul>
  <p><a href="http://www.bacnet.org/Developer/index.html">BACnet
  Developer Help</a></p>
  <h2>Products and Projects that use this BACnet Stack</h2>
  <p>Did you develop a product using this BACnet stack?</p>
  <p><a href="http://www.beremiz.org/">Beremiz</a> - an integrated
  development environment for machine automation. It is Free
  Software, conforming to IEC-61131 among other standards.</p>
  <p><a href="http://bacnetdevelopmentkit.com/">BACnet Development
  Kit</a> - An Atmel ATmega644 based development kit designed to
  kickstart BACnet MS/TP development.</p>
  <p><a href="http://wattstopper.com/DLM/">Digital Lighting
  Management</a> - offers connectivity without complexity for
  remote system management and control of lights and plug loads.
  Just one device in each room network has to be connected to a
  BACnet MS/TP segment for centralized control.</p>
  <p><a href="http://www.controlsystemworks.com/">CSWorks</a> - a
  development framework for building web-based HMI (Human Machine
  Interface), SCADA (Supervisory Control And Data Acquisition), EMI
  (Enterprise Manufacturing Intelligence) and M2M (Machine to
  Machine) software applications.</p>
  <p><a href="http://sensors.scinterface.com/">SCInterface™ =
  Sensor Control Interface</a> - middleware platform for managing
  legacy and modern-day sensors through a centralized
  interface.</p>
  <p><a href=
  "http://sourceforge.net/projects/bacnet-sim/">BACnetSim</a> - a
  portable implementation of the BACnet data communication
  protocol. BACnetSim is meant for embedded devices and use MS/TP
  as the media access layer. BACnetSim is a fork of
  bacnet-stack-0.0.1</p>
  <p><a href="http://simulationresearch.lbl.gov/bcvtb">Building
  Controls Virtual Test Bed</a> - a software environment that
  allows coupling different simulation programs including Dymola,
  EnergyPlus, MATLAB/Simulink and Radiance for co-simulation, and
  to couple these programs to control systems.</p>
  <p><a href=
  "http://linde.caltech.edu/articles/the-prodigal-sun-returns-the-coelostat-in-the-linde-robinson-laboratory">
  The coelostat in the Linde + Robinson Laboratory</a> at
  Caltech.</p>
  <hr>
  <a href="http://sourceforge.net"><img src=
  "http://sourceforge.net/sflogo.php?group_id=117598&amp;type=5"
  width="210" height="62" border="0" alt=
  "SourceForge.net Logo"></a>
  <p><font size="-2"><b>ASHRAE<sup>®</sup></b> and
  <b>BACnet<sup>®</sup></b> are registered trademarks of the
  American Society of Heating, Refrigerating and Air-Conditioning
  Engineers, Inc., 180 Technology Parkway NW, Peachtree Corners,
  Georgia 30092 US.</font></p>
  <p>Website updated 04-November-2024 by <a href=
  "https://sourceforge.net/u/skarg/profile/">Steve Karg</a>.</p>
</body>
</html>
